const axios = require('axios');

// 测试配置
const BASE_URL = 'http://localhost:8001';
const TEST_USER_ID = 'TEST_USER_001';
const TEST_BILL_NO = '7878611'; // 套餐促销单号

// 测试管理端接口（不需要用户token）
async function testAdminCreateComboOrder() {
  try {
    console.log('=== 测试管理端创建套餐订单 ===');
    
    const response = await axios.post(`${BASE_URL}/admin/goods/promoOrder/createComboOrder`, {
      userId: TEST_USER_ID,
      billNo: TEST_BILL_NO,
      remark: '测试套餐订单'
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });

    console.log('套餐订单创建成功:', JSON.stringify(response.data, null, 2));
    return response.data;
  } catch (error) {
    console.error('套餐订单创建失败:');
    if (error.response) {
      console.error('状态码:', error.response.status);
      console.error('响应数据:', JSON.stringify(error.response.data, null, 2));
    } else {
      console.error('错误信息:', error.message);
    }
    return null;
  }
}

// 测试秒杀订单创建
async function testAdminCreateSeckillOrder() {
  try {
    console.log('\n=== 测试管理端创建秒杀订单 ===');
    
    const response = await axios.post(`${BASE_URL}/admin/goods/promoOrder/createSeckillOrder`, {
      userId: TEST_USER_ID,
      billNo: 'SECKILL_001', // 假设的秒杀促销单号
      goodsId: 'G4K7LVZ5WEJ',
      quantity: 1,
      remark: '测试秒杀订单'
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });

    console.log('秒杀订单创建成功:', JSON.stringify(response.data, null, 2));
    return response.data;
  } catch (error) {
    console.error('秒杀订单创建失败:');
    if (error.response) {
      console.error('状态码:', error.response.status);
      console.error('响应数据:', JSON.stringify(error.response.data, null, 2));
    } else {
      console.error('错误信息:', error.message);
    }
    return null;
  }
}

// 查询订单列表验证
async function testQueryOrders() {
  try {
    console.log('\n=== 查询订单列表验证 ===');
    
    const response = await axios.post(`${BASE_URL}/admin/order/info/page`, {
      page: 1,
      size: 10,
      keyWord: 'P' // 查询促销订单（订单号以P开头）
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });

    console.log('订单查询结果:');
    if (response.data.data && response.data.data.list) {
      response.data.data.list.forEach(order => {
        console.log(`订单ID: ${order.id}, 订单号: ${order.orderNum}, 标题: ${order.title}, 价格: ${order.price}, 状态: ${order.status}`);
      });
    } else {
      console.log('暂无订单数据');
    }
    
    return response.data;
  } catch (error) {
    console.error('查询订单失败:');
    if (error.response) {
      console.error('状态码:', error.response.status);
      console.error('响应数据:', JSON.stringify(error.response.data, null, 2));
    } else {
      console.error('错误信息:', error.message);
    }
    return null;
  }
}

// 主测试函数
async function runTests() {
  console.log('开始测试促销订单创建...\n');
  
  // 测试套餐订单
  const comboResult = await testAdminCreateComboOrder();
  
  // 等待一秒
  await new Promise(resolve => setTimeout(resolve, 1000));
  
  // 测试秒杀订单
  const seckillResult = await testAdminCreateSeckillOrder();
  
  // 等待一秒
  await new Promise(resolve => setTimeout(resolve, 1000));
  
  // 查询订单验证
  await testQueryOrders();
  
  console.log('\n测试完成!');
}

// 运行测试
runTests().catch(console.error); 